The present invention pertains to a method and apparatus for delivering data over a network. More particularly, the present invention pertains to the indirect transfer of information in response to an initial user operation.
The Internet system is a network of computer systems that allows the sending of data or information between a source component (sometimes referred to as a host or server) and a destination component (sometimes referred to as a client) using a protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol). As an example, referring to FIG. 1 a client 10, such as a home personal computer (PC) is coupled to a server 20 via a network 30. In this example, server 20 is a so-called xe2x80x9cweb-sitexe2x80x9d on the World Wide Web system (a portion of the Internet system). Client 10, via the operation of a software program called a browser (e.g., Netscape Navigator(copyright) 3.0 by Netscape Communications Corp.), accesses information at server 20 by using a URL (Universal Resource Locator) which identifies server 20 or a file located at server 20. The browser utilizes a protocol, such as HyperText Transfer Protocol (HTTP), to ask for xe2x80x9cpagesxe2x80x9d (or xe2x80x9cweb pagesxe2x80x9d) of information that contain text or richtext (e.g., multimedia such as audio and/or video images). The content of each page may include hypertext links that may lead to other pages at server 20 or other servers coupled to network 30. Server 20 presents information in a form called a xe2x80x9cweb pagexe2x80x9d to client 10 via network 30, where each web page typically includes Hypertext Markup Language (HTML). A more detailed explanation of HTML and HTTP can be found in xe2x80x9cHTML Sourcebookxe2x80x9d 2d Ed., by Ian S. Graham, 1996, John Wiley and Sons, Inc. The connection between client 10 and server 20 can be direct, but typically includes one or more nodes 31, 32, 33 which relay information to its appropriate destination using the TCP/IP protocol. The accessing of the information occurs in xe2x80x9creal-timexe2x80x9d in that information from server 20 is provided to client 10 at the same time it is requested. The transaction of information between server 20 and client 10 can be referred to as a series of request-response interactions where either client 10 or server 20 or both request and/or receive information from the other.
The network 30 over which client 10 accesses information from server 20 may have features making it undesirable or uneconomical for such a transfer of information. For example, if network 30 includes ISDN telephone lines, such lines usually are more costly than plain old telephone service (POTS) lines. Also, client 10 may be trying to access information from server 20 when activity on the network 30 from other users is at a peak. In such a circumstance, the available bandwidth for the information requested by client 10 will be reduced, thus increasing the amount of time required for the transfer of such information. In addition to network problems, the server 20, itself, may be overloaded with requests, thus delaying the transfer of information between server 20 and client 10. Accordingly, there is need for a method and apparatus that allows for the delivery of data or information between a server and a client user that overcomes these aforementioned problems.
According to the apparatus and method of the present invention, a client is provided which is adapted to create a request message designating a desired data file and a storage address. The request message is sent to a server according to a first protocol at a first time. Coupled to the client is a storage device that includes a plurality of storage locations. The storage device is adapted to receive the data file and store it at a storage location identified by the storage address. The server is coupled to the client and is adapted to receive the request from the client and is adapted to send the data file to the storage device according to a second and different protocol at a second time.